package org.ysu.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableField;
import org.ysu.core.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * <p>
 * 线索表
 * </p>
 *
 * @author CaoYuJia
 * @since 2024-08-20
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "Clue对象", description = "线索表")
public class Clue extends BaseEntity {

    private static final long serialVersionUID = 1L;

    public Clue(Long id, Long ccId, Long fid, String province, String city, String county, String township, String village, Boolean riskMan, Boolean riskSubstance, Boolean riskNature, Boolean riskFinance, Boolean riskSocial, Integer riskLevel, String riskRemark, Boolean verify) {
        super(id);
        this.ccId = ccId;
        this.fId = fid;
        this.province = province;
        this.city = city;
        this.county = county;
        this.township = township;
        this.village = village;
        this.riskMan = riskMan;
        this.riskSubstance = riskSubstance;
        this.riskNature = riskNature;
        this.riskFinance = riskFinance;
        this.riskSocial = riskSocial;
        this.riskLevel = riskLevel;
        this.riskRemark = riskRemark;
        this.verify = verify;
    }

    public Clue(Long ccId, Long fId, String province, String city, String county, String township, String village, Boolean riskMan, Boolean riskSubstance, Boolean riskNature, Boolean riskFinance, Boolean riskSocial, Integer riskLevel, String riskRemark, Boolean verify, Long rId) {
        this.ccId = ccId;
        this.fId = fId;
        this.province = province;
        this.city = city;
        this.county = county;
        this.township = township;
        this.village = village;
        this.riskMan = riskMan;
        this.riskSubstance = riskSubstance;
        this.riskNature = riskNature;
        this.riskFinance = riskFinance;
        this.riskSocial = riskSocial;
        this.riskLevel = riskLevel;
        this.riskRemark = riskRemark;
        this.verify = verify;
        this.rId = rId;
    }

    public Clue(Long id, Long ccId, Long fId, String province, String city, String county, String township, String village, Boolean riskMan, Boolean riskSubstance, Boolean riskNature, Boolean riskFinance, Boolean riskSocial, Integer riskLevel, String riskRemark, Boolean verify, Long rId) {
        super(id);
        this.ccId = ccId;
        this.fId = fId;
        this.province = province;
        this.city = city;
        this.county = county;
        this.township = township;
        this.village = village;
        this.riskMan = riskMan;
        this.riskSubstance = riskSubstance;
        this.riskNature = riskNature;
        this.riskFinance = riskFinance;
        this.riskSocial = riskSocial;
        this.riskLevel = riskLevel;
        this.riskRemark = riskRemark;
        this.verify = verify;
        this.rId = rId;
    }

    public Clue(Long id, Boolean valid) {
        super(id);
        this.valid = valid;
    }

    public Clue(Long id, Boolean verify,Boolean valid) {
        super(id);
        this.verify = verify;
        this.valid = valid;
    }

    @ApiModelProperty("录入线索的干部id")
    private Long ccId;

    @ApiModelProperty("家庭成员id")
    private Long fId;

    @ApiModelProperty("省")
    private String province;

    @ApiModelProperty("市")
    private String city;

    @ApiModelProperty("县")
    private String county;

    @ApiModelProperty("乡")
    private String township;

    @ApiModelProperty("村")
    private String village;

    @ApiModelProperty("人力风险")
    private Boolean riskMan;

    @ApiModelProperty("物质风险")
    private Boolean riskSubstance;

    @ApiModelProperty("自然风险")
    private Boolean riskNature;

    @ApiModelProperty("金融风险")
    private Boolean riskFinance;

    @ApiModelProperty("社会风险")
    private Boolean riskSocial;

    @ApiModelProperty("风险级别")
    private Integer riskLevel;

    @ApiModelProperty("风险备注")
    private String riskRemark;

    @ApiModelProperty("是否失效，0-失效，1-有效")
    private Boolean valid;

    @ApiModelProperty("是否核实，0-未核实，1-已核实")
    private Boolean verify;

    @ApiModelProperty("地区编号")
    private Long rId;

    @TableField(exist = false)
//不需要映射到数据库表中的列
    private String vName;
}
